In general, a plurality of types of IC (integrated circuit) cards can be connected to a connector of an IC card controller because a plurality of IC cards are interchangeable with each other in terms of their dimensions and shapes. However, a conventional IC card controller may have difficulties of recognizing types of IC cards with an IC card detection signal, which is generated when the IC card is connected to a connector of an IC card controller.
In order to cope with such situation, a conventional art as shown in FIG. 1 includes an IC (integrated circuit) card controller 101 for connecting a host unit 103 and an IC (integrated circuit) card 110.
As shown in FIG. 1, the IC card controller 101 includes a common interface circuit 112 that can be commonly used for a plurality of types of IC cards. As also shown in FIG. 1, the host unit 103 includes a common driver 104 that can be commonly used for plurality of types of IC cards.
The IC card controller 101 includes an IC card slot 111 to which the IC (integrated circuit) card 110 is connected. The IC card controller 101 is connected to the host unit 103 via a bus 102 as shown in FIG. 1.
However, it is not always practicable to install a common driver that can control a plurality of types of IC cards. For example, a personal computer may need unique drivers for a SD™ (secure digital) card and MMC™ (multi media card) card, respectively, to drive the SD card and MMC card although the SD card and MMC card can be interchangeably connected to the personal computer because they have similar dimensions and shapes.
With such background, a conventional IC card controller includes interface circuits and drivers, which are unique to each type of IC cards to identify types of IC cards to be connected to the IC card controller.
Therefore, as for a conventional IC card controller, such unique drivers are used to identify types of IC cards connected to the IC card controller.
FIG. 2 is a block diagram explaining a conventional reader/writer which identifies types of IC cards with drivers unique to each type of IC cards.
As shown in FIG. 2, the reader/writer functions as an interface unit which interfaces a host unit and a memory card, for example.
In FIG. 2, the reader/writer is connected to a host unit such as personal computer via a PCI (peripheral component interconnect) bus, and also connected to a memory card such as SD™ (secure digital) card, SDIO™ (SD input/output) card, and a MMC™ card, for example.
As shown in FIG. 2, a reader/writer 121 is connected to a host unit 123 via a PCI (peripheral components interconnect) bus 122.
The reader/writer 121 includes a memory card slot 131, a MMC interface circuit 132, a SD interface circuit 133, and a PCI interface circuit 134. The host unit 123 includes a MMC driver 124 and a SD driver 125. A memory card 130 (such as SD card, SDIO card, MMC card, etc.) is inserted and connected to the memory card slot 131.
When the memory card 130 is inserted and connected to the memory card slot 131, the MMC interface circuit 132 recognizes that the memory card 130 is connected to the memory card slot 131. At this time, a type of the memory card 130 is not identified yet.
Then, the MMC interface circuit 132 generates and transmits an interrupt signal to the host unit 123 via the PCI interface circuit 134 and PCI bus 122.
The MMC driver 124 in the host unit 123 confirms an interrupt status bit signal transmitted from the MMC interface circuit 132, and recognizes that the memory card 130 is connected to the memory card slot 131.
Then, the MMC driver 124 starts an identification sequence for the memory card 130 connected to the memory card slot 131.
If the memory card 130 connected to the memory card slot 131 is a SD card or SDIO card, the MMC driver 124 writes a SD card insertion bit signal in the MMC interface circuit 132 via the PCI bus 122 and PCI interface circuit 134.
Then, the MMC interface circuit 132 transmits a signal to the SD interface circuit 133 to indicate that the SD card or SDIO card is connected to the memory card slot 131.
Then, the SD interface circuit 133 generates and transmits an interrupt signal to the host unit 123 via the PCI interface circuit 134 and PCI bus 122.
Then, the SD driver 125 in the host unit 123 confirms an interrupt status bit signal transmitted from the SD interface circuit 133, and recognizes that the memory card 130 (for example, SD card or SDIO card) is connected to the memory card slot 131.
Then, the SD driver 125 starts an identification sequence for the memory card 130 (for example, SD card or SDIO card) connected to the memory card slot 131.
After identifying the memory card 130 (for example, SD card or SDIO card), the SD driver 125 conducts an access operation to the memory card 130 (for example, SD card or SDIO card) via the PCI bus 122, PCI interface circuit 134, and SD interface circuit 133, when such access operation is in need.
On one hand, if the memory card 130 connected to the memory card slot 131 is a MMC card, the MMC driver 124 starts an identification sequence for the memory card 130 (i.e., MMC card) connected to the memory card slot 131.
After identifying the memory card 130 (i.e., MMC card), the MMC driver 124 conducts an access operation to the memory card 130 (i.e., MMC card) via the PCI bus 122, is PCI interface circuit 134, and MMC interface circuit 132, when such access operation is in need.
As explained above, the MMC driver 124 conducts a card identification sequence even if a SD card is connected to the memory card slot 131. Therefore, even if only a SD card is connected to the memory card slot 131, both of the MMC driver 124 and SD driver 125 should be installed in the host unit 123 to recognize the SD card.
Furthermore, when the host unit 123 goes into a suspend mode while maintaining a connection of the SD card to the memory card slot 131 and the host unit 123 conducts a resume mode after a suspend mode, the MMC driver 124 and the SD driver 125 in the host unit 123 are returned to an initial status because a power supply to the host unit 123 is disconnected when the host unit 123 goes into a suspend mode.
In such a case, the SD driver 125 judges that the SD card is pulled out from the memory card slot 131 even if the SD card is connected to the memory card slot 131. Therefore, if the host unit 123 goes into a suspend mode when the SD driver 125 is conducting data transfer to the SD card, such data transfer becomes an error when the host unit 123 goes into a resume mode after a suspend mode, thereby the data transfer to the SD card is not automatically restarted in a resume mode.